package com.ruoyi.system.domain.vo;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.ruoyi.common.annotation.ExcelDictFormat;
import com.ruoyi.common.convert.ExcelDictConvert;
import lombok.Data;
import java.util.Date;

import java.io.Serializable;
import java.util.List;

/**
 * KFN项目管理视图对象 kfn_project
 *
 * @author Panda
 * @date 2023-12-20
 */
@Data
@ExcelIgnoreUnannotated
public class KfnProjectVo implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 项目id
     */
    @ExcelProperty(value = "项目id")
    private String projectId;

    /**
     * 项目编号
     */
    @ExcelProperty(value = "项目编号")
    private String projectNumber;

    /**
     * 项目名
     */
    @ExcelProperty(value = "项目名")
    private String projectName;

    /**
     * 项目类型
     */
    @ExcelProperty(value = "项目类型", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "project_project_type")
    private String projectType;

    /**
     * 项目预估价格
     */
    @ExcelProperty(value = "项目预估价格")
    private BigDecimal projectPrePrice;

    /**
     * 项目实收价格
     */
    @ExcelProperty(value = "项目实收价格")
    private BigDecimal projectPrice;

    /**
     * 备注
     */
    @ExcelProperty(value = "备注")
    private String remark;

    /**
     * 项目实际开始日期
     */
    @ExcelProperty(value = "项目实际开始日期")
    private Date projectStartDate;

    /**
     * 项目实际结束日期
     */
    @ExcelProperty(value = "项目实际结束日期")
    private Date projectEndDate;

    /**
     * 项目预计开始日期
     */
    @ExcelProperty(value = "项目预计开始日期")
    private Date projectPreStartDate;

    /**
     * 项目预计结束日期
     */
    @ExcelProperty(value = "项目预计结束日期")
    private Date projectPreEndDate;

    /**
     * 第三方系统单号
     */
    @ExcelProperty(value = "第三方系统单号")
    private String thirdSysNumber;

    /**
     * 关联的客户id
     */
    @ExcelProperty(value = "关联的客户id")
    private Long customerId;

    /**
     * 关联的客户名称
     */
    @ExcelProperty(value = "关联的客户名称")
    private String customerName;

    /**
     * 关联的客户联系人
     */
    @ExcelProperty(value = "关联的客户联系人")
    private String customerContacts;

    /**
     * 关联的客户联系电话
     */
    @ExcelProperty(value = "关联的客户联系电话")
    private String customerContactNumber;

    /**
     * 介绍人
     */
    @ExcelProperty(value = "介绍人")
    private String customerReferences;

    /**
     * 项目关联的人员
     */
    private List<KfnProjectUserVo> kfnProjectUserVoList;

}
